const App = getApp()
Component({
  properties: {
    visible: Boolean, // 显示隐藏
    path:  String,  
    // mask背景透明
    transparent: {
      type: Boolean,
      value: false
    }
  },
  /**
   * 组件的初始数据
   */
  data: {
  },
  methods: {
    close() {
      this.setData({
        visible: false
      })
    },
    // 保存到相册
    eventSave() {
      const self = this
      wx.getSetting({
        success(res) {
          if (!res.authSetting['scope.writePhotosAlbum']) {
            wx.authorize({
              scope: 'scope.writePhotosAlbum',
              success() {
                // 用户已经同意小程序使用录音功能，后续调用 wx.startRecord 接口不会弹窗询问
                self.saveImg()
              },
              fail() {
                wx.showModal({
                  content: '检测到您没打开小蚁买手的相册权限，是否去设置打开？',
                  confirmText: '确认',
                  cancelText: '取消',
                  success: function(res) {
                    console.log(res)
                    //点击“确认”时打开设置页面
                    if (res.confirm) {
                      wx.openSetting({
                        success: res => {}
                      })
                    } else {
                    }
                  }
                })
              }
            })
          } else {
            self.saveImg()
          }
        },
        fail(err) {
          wx.openSetting({
            success(res) {
              console.log(res.authSetting)
            }
          })
        }
      })
    },
    saveImg() {
      const _this = this
      // 只要服务器有响应数据，就会把响应内容写入文件并进入 success
      wx.saveImageToPhotosAlbum({
        filePath: _this.data.path,
        success(res) {
          wx.showToast({
            title: '保存图片成功',
            icon: 'success',
            duration: 2000
          })
          // 关闭弹窗
          _this.setData({
            visible: false
          })
        },
        fail(res) {
          wx.showToast({
            title: '保存图片失败',
            icon: 'none',
            duration: 2000
          })
        }
      })
    },
    eventGetImage(event) {
      wx.hideLoading()
      const { tempFilePath, errMsg } = event.detail
      if (errMsg === 'canvasdrawer:ok') {
        this.setData({
          visible: true,
          shareImage: tempFilePath
        })
        // 如果重复点击就直接显示
      } else if (errMsg === 'canvasdrawer:same params') {
        // 解决生成失败再次点击回不显示图片,显示按钮 if (tempFilePath) {}
        if (this.data.shareImage) {
          this.setData({
            visible: true
          })
        } else {
          wx.showToast({ title: '生成图片失败', icon: 'none' })
          App.globalData.bug.notifyError(
            new Error('canvasdrawer:same params err')
          )
        }
      } else {
        wx.showToast({ title: '生成图片失败', icon: 'none' })
        this.data.shareImage=''
        App.globalData.bug.notifyError(new Error(errMsg))
      }
    }
  }
})
